source_files = files(
  'base/log.cpp',
  'base/log_util.cpp',
  'base/backtrace.cpp',
  'util/cmdline.cpp',
  'util/json.cpp',
  'event/fd_event.cpp',
  'event/timer_event.cpp',
  'event/signal_event.cpp',
  'network/buffer.cpp',
  'network/fd.cpp',
  'network/ip_address.cpp',
  'network/sockaddr.cpp',
  'network/buffered_fd.cpp',
  'network/stdio_stream.cpp',
  'network/socket_fd.cpp',
  'network/tcp_acceptor.cpp',
  'network/tcp_connection.cpp',
  'network/tcp_server.cpp',
  'network/tcp_connector.cpp',
  'network/tcp_client.cpp',
)

ibox_lib = library('ibox',
  source_files,
  include_directories: includes,
  dependencies: ibox_dependencies,
  cpp_args: ibox_compile_args)

ibox_dep = declare_dependency(
  include_directories: includes,
  dependencies: ibox_dependencies,
  link_with: ibox_lib,
  link_args: ibox_link_args,
  compile_args: ibox_compile_args)

ibox_dependencies += ibox_dep
